package com.lingnuo.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author Corder-Suxiaoxiang
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    // 状态码
    private Integer code;
    // 信息
    private String msg;
    // 数据
    private Object data;

    // 操作成功响应（带自定义消息）
    public static Result success(String message) {
        return new Result(200, message, null);
    }

    // 操作成功响应（带数据）
    public static Result success(Object data) {
        return new Result(200, "success", data);
    }

    // 操作成功响应（带消息和数据）
    public static Result success(String message, Object data) {
        return new Result(200, message, data);
    }

    // 操作失败响应
    public static Result error(String message) {
        return new Result(500, message, null);
    }

    // 自定义状态码的失败响应
    public static Result error(Integer code, String message) {
        return new Result(code, message, null);
    }
}